The present invention relates generally to monitor and control (monitor/control) networks and systems, and in particular to stand-alone embedded system building blocks for use in creating user-configurable monitor/control systems.
The availability of low cost, low power electronics has made ubiquitous monitoring and control realizable through the advent of sensor networks. Monitoring and controlling various aspects of a home, office, store, school, factory, or public spaces can result in improved personal comfort and safety, as well as public security. However, today's monitor/control systems are largely specialized, factory-programmed and configured to perform a specific application, such as home automation or intrusion detection. Though the applications of monitor/control systems are voluminous, high design cost has restricted all but the most commercially viable products from entering the market, resulting in an unfulfilled void of useful applications. For example, a homeowner may want notification of a garage door open at night or of a sleepwalking child; an office worker may want to know whether mail exists for him in the mailroom, whether a copy machine is free, or whether conference rooms are in use. These applications are useful but generally lack the expected volume to justify producing dedicated products to address them (or resulting in high-priced dedicated products), and yet contracting a customized system would be cost prohibitive.
Technological advances in miniaturization, wireless communication, and power efficiency have recently made feasible the development of low-cost, intelligent, and configurable networks of devices, known generally as sensor networks. Much previous work has been done in examining new ways to implement old systems using new technology. This work can be categorized as follows—pre-manufactured products, programmable products, board products, and block products.
Pre-Manufactured Products
Pre-manufactured products are typically designed for a specialized task. The benefit of pre-manufactured products is that these products are ready to use off-the-shelf. One drawback, however, is that each pre-manufactured system has typically been designed to solve only one problem and is not easily customizable to other situations. Smarthome (Smarthome Inc.,) is one such company that provides over 5,000 pre-manufactured home automation products such as X10 switches and wall receptacles, motorized drape controllers, mail alert sensors, etc. Each product serves a single purpose and cannot easily be customized or re-used for other applications. For example, if a consumer purchases a wireless doorbell, they must use the included button and further cannot customize the doorbell to sound when motion is detected or to sound only during the day.
Programmable Products
Programmable products are intended to be easily programmed by the user so that customized systems can be constructed. The user determines how the system should be linked together and what the desired output should be. Unlike pre-manufactured products, programmable products are applicable to many different situations. However, they also require that a user successfully programs the product, where the product's intended audience dictates the ease of programming required.
Programmable products, especially those designed for education and toys, must be easy to understand and program. Users cannot be required to read extensive datasheets to understand how a particular product works or be expected to take extensive programming courses. One programmable product, MIT Crickets, for example, which evolved from the MIT Programmable Bricks project, includes tiny computers powered by 9-volt batteries that receive information from two sensors and control two motors. (See, e.g., Martin, F., et al. The MIT Programmable Brick, and Martin, F., et al. Crickets: Tiny Computers for Big Ideas. Users program Crickets using the Logo language, which is a simple, graphical, highly intuitive language, to perform a variety of functions. (See, e.g., Resnick, M., S. Ocko, and S. Papert, LEGO, Logo, and Design, Children's Environments Quarterly 5, No. 4, pg. 14-18, 1988.) Crickets provide an introduction to programming and electronics to kids and are designed for science education. Crickets also provided the foundation for the Lego Mindstorm product, which consists of numerous sensor and actuator Lego blocks used in conjunction with standard Lego blocks and that connect to a central microprocessor block. (See, e.g., Wallich, P. Mindstorms Not Just a Kid's toy. IEEE Spectrum, September 2001; and LegoMindstorms,) Again, users must program the processor using a simple graphical language.
Programmable products are also often aimed at industrial applications. One such example is Phidgets, a system including sensors and actuators that connect to a central board communicating with a PC. (See, Phidgets,) The PC is used to monitor and control the corresponding modules over a USB connection. Programming Phidgets using Visual Basic, users can quickly prototype systems. Teleo is another example of a system in which a user selects sensors and actuators and connects the components to a central module. (See, Teleo,) The central module is connected to a PC and can be programmed utilizing a variety of languages. However, unlike Phidgets, Teleo incorporates memory within the central module and can be disconnected from the computer.
Another programmable product, Mica Motes, include miniature wireless sensing devices incorporating sensing, communication, and I/O capabilities and are intended to last years in the field utilizing only a pair of AA batteries. (See, Horton, Mike. et al. MICA: The Commercialization of Microsensor Notes. Sensors Online, April 2002.) Each Mica node consists of processor/radio circuits that are sandwiched together with sensor circuits. A system designer would customize the Mica node to their particular application by selecting which sensors are incorporated. A collection of Mica nodes are capable of self-configuring a multi-hop network, utilizing RF communication, and support dynamic reprogramming within the network. The nodes also contain the TinyOS operating system and allow designers to customize communication protocols. The newest generation of these wireless platforms is Smart Dust, which are on the millimeter scale in size. (See, Smart Dust, 2004.) These devices share many of the characteristics of the Mica nodes but utilize optical communication and have more restrictive power utilization limits. To use either the Mica Motes or Smart Dust, users must choose which sensors to utilize, program each node, and decide what communication protocols best fit the desired system. These devices are intended for people with programming and electronics experience.
Board Products
Board products include electronic components that must be connected on top of a specialized circuit board typically intended to provide power to the individual components. One example is Magic Blocks, which were designed to teach pre-university students basic logic theory before the students begin university level computer science classes. (See, Kharma, N. and L. Caro. Magic Blocks: A Game Kit for Exploring Digital Logic. American Society for Engineering Education Annual Conference, 2002.) Magic Blocks users are guided with an instruction manual that explores various logic ideas by having students build various projects. Magic Blocks are aimed more at an educational setting. Using Magic Blocks in real life would be challenging, if not impossible, due the physical setup of these systems as well as the low level components. Additionally, the various gate level blocks would be confusing to users who have no computer science background.
Block Products
Block products are composed of electronic components that can be connected together to build the desired system and do not require a central module or specialized circuit board to implement the systems. Users simply need to connect the desired blocks together to build complete systems. One example is Logidules, which were designed to help university level students studying electronics to build hardware systems. (See, Logidules, 2004.) Using Logidules, students snap together boxes that represent a range of components from logic gates to microprocessors. The design of Logidules eliminates the need for users to connect power to each component and users need only worry about wiring between the devices. Another type of block product, Logiblocs, include small plastic blocks that users snap together to build various systems and which include light sensors, buttons, AND, OR, NOT, speakers, bleeps, LEDs, etc. (See, Logiblocks,) Logiblocs are intended for education and toys. Another type of block product, Electronic Blocks, include blocks that include processors incorporated inside of LEGO Duplo Prima blocks. (See, Electronic Blocks,) Users simply stack the correct combination of blocks to produce the desired output. Electronic Blocks are designed for students between the ages of 3 to 8 years old and are limited in use for older students due to the simplicity of the blocks. Currently, most block products are designed for younger individuals and therefore the possible systems that one can build are simplistic with no ability to create more advanced systems. Another example, RoboBrix, includes components that users plug together to build functioning robots quickly. (See, RoboBRiX,) Some modules contain a PIC microprocessor incorporating intelligence to allow components to be connected together as necessary to build a robot. Other RoboBrix modules include components such as connectors, servos and breadboards, but do not include a microprocessor. RoboBrix are intended to aid in building robotic systems and are not intended for monitor/control embedded system applications.
It is therefore, clear that a generalized set of building blocks that could be easily combined to create monitor/control systems and networks to perform a broad range of functions while maintaining ease of use would therefore serve a great need.